我們已經討論了如何將 DataFrame 輸出為 CSV 檔。你可以用 Python Pandas 做更多的事情,計算移動平均線就是其中之一。
import btalib
import pandas as pd
# load DataFrame
btc_df = pd.read_csv('binance_demo.csv', index_col=0)
btc_df.set_index(['date'], inplace=True)
btc_df.index = pd.to_datetime(btc_df.index, unit='ms')
# calculate 20 moving average using Pandas
btc_df['20sma'] = btc_df.close.rolling(20).mean()
print(btc_df.tail(5))
在上面的代碼中,我們從之前創建的CSV檔載入了數據。然後,我們使用mean() 函數來計算收盤列上的平均值。
滾動函數允許我們為移動平均線設置一個週期。所有這些內容都將附加到現有的數據幀中。這就是結果的樣子。
如您所見,已使用 20 移動平均線創建了一個新列。
假設您只需要知道移動平均線現在的位置。或者從數據幀中的最後一個價位開始。
我們可以使用相同的 mean() 函數,只需在 DataFrame 的最後 20 行上運行它,如下所示:
# calculate just the last value for the 20 moving average
mean = btc_df.close.tail(20).mean()
但Pandas無法計算其他技術指標,如RSI或MACD。幣安 API 也不提供此資訊。
TA-LIB一直是一個流行的庫一段時間了。最近有機會測試了一下 bta-lib。
我們下一章就帶大家來了解一下吧~~~